如何从 Cybersource Secure Acceptance API generate/retrieve 令牌?
How to generate/retrieve token from Cybersource Secure Acceptance API?
我已尝试使用 Cybersource 文档中提供的测试数据为测试 PAN 创建令牌。但是,当尝试这样做时(假设它是 REST Api),它会导致“403 - Forbidden”错误。该文档是有限的,因为它没有提供关于 API 的太多信息,除了以下内容:
(Test) Endpoint: https://testsecureacceptance.cybersource.com/silent/token/create
请求创建独立支付令牌:
reference_number=123456789
transaction_type=create_payment_token
currency=usd
amount=100.00
locale=en
access_key=e2b0c0d0e0f0g0h0i0j0k0l0m0n0o0p3
profile_id=0FFEAFFB-8171-4F34-A22D-1CD38A28A384
transaction_uuid=02815b4f08e56882751a043839b7b481
signed_date_time=2013-07-11T15:16:54Z
signed_field_names=comma separated list of signed fields
unsigned_field_names=comma separated list of unsigned fields
signature=WrXOhTzhBjYMZROwiCug2My3jiZHOqATimcz5EBA07M=
payment_method=card
card_type=001
card_number=4111111111111111
card_expiry_date=12-2022
card_cvn=005
bill_to_forename=Joe
bill_to_surname=Smith
bill_to_email=joesmith@example.com
bill_to_address_line1=1 My Apartment
bill_to_address_city=Mountain View
bill_to_address_postal_code=94043
bill_to_address_state=CA
bill_to_address_country=US
这是 REST 还是 SOAP API?如何在 Postman 中对此进行测试?我进行了测试以检查其中任何一个是否有效,但没有成功。 header 中也没有关于要包含什么的信息,所以这有点令人费解。
示例 POST 我正在尝试的测试:
POST https://testsecureacceptance.cybersource.com/silent/token/create
Content-Type:application/json
Accept:application/json
{
reference_number:123456789
transaction_type:create_payment_token
currency:usd
amount:100.00
locale:en
access_key:e2b0c0d0e0f0g0h0i0j0k0l0m0n0o0p3
profile_id:0FFEAFFB-8171-4F34-A22D-1CD38A28A384
transaction_uuid:02815b4f08e56882751a043839b7b481
signed_date_time:2019-03-07T06:16:54Z
signed_field_names:profile_id,access_key,transaction_uuid,signed_field_names,unsigned_field_names,signed_date_time,locale,transaction_type,reference_number,auth_trans_ref_no,amount,currency,card_type,card_number,card_expiry_date,card_cvn,payment_method,bill_to_forename,bill_to_surname,bill_to_email,bill_to_address_line1,bill_to_address_city,bill_to_address_postal_code,bill_to_address_state,bill_to_address_country
unsigned_field_names:
signature:WrXOhTzhBjYMZROwiCug2My3jiZHOqATimcz5EBA07M=
payment_method:card
card_type:001
card_number:4111111111111111
card_expiry_date:12-2022
card_cvn:005
bill_to_forename:Joe
bill_to_surname:Smith
bill_to_email:joesmith@example.com
bill_to_address_line1:1 My Apartment
bill_to_address_city:Mountain View
bill_to_address_postal_code:94043
bill_to_address_state:CA
bill_to_address_country:US
}
"Is this a REST or SOAP API?"
URL、https://testsecureacceptance.cybersource.com/silent/token/create 用于 Secure Acceptance Checkout API。 Secure Acceptance Checkout API 既不是 SOAP API 也不是 REST API。它旨在用作来自客户浏览器的 HTML 表单 POST。
如果您的目标是通过浏览器使用 REST API,那么您将希望使用记录在案的 Secure Acceptance Flexible Token here。
如果您的目标是使用 Secure Acceptance Checkout API,完整的文档是 here。
"How can this be tested in Postman?"
由于这不是 REST API 调用而是 HTML 形式 POST 和 HTML 响应,因此您使用 Postman 的成功可能有限。例如,即使您收到成功工作的请求,响应也将是 HTML 文档而不是 JSON.
我看到的一个问题是您使用的是示例签名,这对您不起作用。确保您遵循有关如何创建签名以及设置签名和未签名字段的文档。
@J.J。 - 您遇到的错误 -- “此字段无效或 missing.Please 联系客户支持。:ots_profileid'”。告诉您您的请求负载中缺少(或无效)profileID。系统在处理此请求时不知道使用什么配置文件。
我已尝试使用 Cybersource 文档中提供的测试数据为测试 PAN 创建令牌。但是,当尝试这样做时(假设它是 REST Api),它会导致“403 - Forbidden”错误。该文档是有限的,因为它没有提供关于 API 的太多信息,除了以下内容:
(Test) Endpoint: https://testsecureacceptance.cybersource.com/silent/token/create
请求创建独立支付令牌:
reference_number=123456789
transaction_type=create_payment_token
currency=usd
amount=100.00
locale=en
access_key=e2b0c0d0e0f0g0h0i0j0k0l0m0n0o0p3
profile_id=0FFEAFFB-8171-4F34-A22D-1CD38A28A384
transaction_uuid=02815b4f08e56882751a043839b7b481
signed_date_time=2013-07-11T15:16:54Z
signed_field_names=comma separated list of signed fields
unsigned_field_names=comma separated list of unsigned fields
signature=WrXOhTzhBjYMZROwiCug2My3jiZHOqATimcz5EBA07M=
payment_method=card
card_type=001
card_number=4111111111111111
card_expiry_date=12-2022
card_cvn=005
bill_to_forename=Joe
bill_to_surname=Smith
bill_to_email=joesmith@example.com
bill_to_address_line1=1 My Apartment
bill_to_address_city=Mountain View
bill_to_address_postal_code=94043
bill_to_address_state=CA
bill_to_address_country=US
这是 REST 还是 SOAP API?如何在 Postman 中对此进行测试?我进行了测试以检查其中任何一个是否有效,但没有成功。 header 中也没有关于要包含什么的信息,所以这有点令人费解。
示例 POST 我正在尝试的测试:
POST https://testsecureacceptance.cybersource.com/silent/token/create
Content-Type:application/json
Accept:application/json
{
reference_number:123456789
transaction_type:create_payment_token
currency:usd
amount:100.00
locale:en
access_key:e2b0c0d0e0f0g0h0i0j0k0l0m0n0o0p3
profile_id:0FFEAFFB-8171-4F34-A22D-1CD38A28A384
transaction_uuid:02815b4f08e56882751a043839b7b481
signed_date_time:2019-03-07T06:16:54Z
signed_field_names:profile_id,access_key,transaction_uuid,signed_field_names,unsigned_field_names,signed_date_time,locale,transaction_type,reference_number,auth_trans_ref_no,amount,currency,card_type,card_number,card_expiry_date,card_cvn,payment_method,bill_to_forename,bill_to_surname,bill_to_email,bill_to_address_line1,bill_to_address_city,bill_to_address_postal_code,bill_to_address_state,bill_to_address_country
unsigned_field_names:
signature:WrXOhTzhBjYMZROwiCug2My3jiZHOqATimcz5EBA07M=
payment_method:card
card_type:001
card_number:4111111111111111
card_expiry_date:12-2022
card_cvn:005
bill_to_forename:Joe
bill_to_surname:Smith
bill_to_email:joesmith@example.com
bill_to_address_line1:1 My Apartment
bill_to_address_city:Mountain View
bill_to_address_postal_code:94043
bill_to_address_state:CA
bill_to_address_country:US
}
"Is this a REST or SOAP API?" URL、https://testsecureacceptance.cybersource.com/silent/token/create 用于 Secure Acceptance Checkout API。 Secure Acceptance Checkout API 既不是 SOAP API 也不是 REST API。它旨在用作来自客户浏览器的 HTML 表单 POST。
如果您的目标是通过浏览器使用 REST API,那么您将希望使用记录在案的 Secure Acceptance Flexible Token here。
如果您的目标是使用 Secure Acceptance Checkout API,完整的文档是 here。
"How can this be tested in Postman?" 由于这不是 REST API 调用而是 HTML 形式 POST 和 HTML 响应,因此您使用 Postman 的成功可能有限。例如,即使您收到成功工作的请求,响应也将是 HTML 文档而不是 JSON.
我看到的一个问题是您使用的是示例签名,这对您不起作用。确保您遵循有关如何创建签名以及设置签名和未签名字段的文档。
@J.J。 - 您遇到的错误 -- “此字段无效或 missing.Please 联系客户支持。:ots_profileid'”。告诉您您的请求负载中缺少(或无效)profileID。系统在处理此请求时不知道使用什么配置文件。