ProcessReceipt always returning true, despite not being successful

Recently, I’ve been trying to get some developer products to work in my game. However, I find that regardless of what function I use in game:GetService('MarketPlaceService').ProcessReceipt, it will always go through with the purchase.

I’ve even tried the following for game:GetService('MarketPlaceService').ProcessReceipt:

local function processReceipt(receiptInfo)
	return Enum.ProductPurchaseDecision.NotProcessedYet
end

MarketplaceService.ProcessReceipt = processReceipt

-- Purchase is still granted
Other snippets that don't function as intended
local function processReceipt(receiptInfo)
	return false
end

MarketplaceService.ProcessReceipt = processReceipt

-- Purchase is still granted
local function processReceipt(receiptInfo)
	return nil
end

MarketplaceService.ProcessReceipt = processReceipt

-- Purchase is still granted
local function processReceipt(receiptInfo)
	return 0
end

MarketplaceService.ProcessReceipt = processReceipt

-- Purchase is still granted

Even this function will still go through with the purchase. How is this possible? Ctrl+Shift+F reveals that this is the only reference to a .ProcessReceipt, which is the only possible issue I could think of. It seems that other people have had the issue with no resolution as well.

I’ve even gone as far as to make a developer product that cost 0 robux so I could try this out in a live game; I still got the same result.

Edit: MarketPlaceService to MarketplaceService. This wasn’t the source of the error, but rather a detail that was lost when transcribing the code.

local function processReciept(recieptInfo)
    return Enum.ProductPurchaseDecsion
end

MarketPlaceService.ProcessReceipt = processReceipt

This should work.

1 Like

The purchase will still go through.

local function processReceipt(recieptInfo)
    return Enum.ProductPurchaseDecsion
end

processReceipt()

This could work? If not, let me know any errors.

1 Like

This doesn’t give the intended behavior because it just calls the function, it doesn’t connect the function to MarketplaceService.ProcessReceipt.

First of all only return Enum.ProductPurchaseDecision.NotProcessedYet or Enum.ProductPurchaseDecision.PurchaseGranted. Secondly are the dev products being purchased part of the same universe/experience?(not place)

1 Like

I only put in other return values to attempt to get the intended behavior.

The dev products are indeed in the same experience.

Turns out that this is intended behavior.